package bean;

import com.sun.faces.context.flash.ELFlash;
import entity.Usuario;
import dao.UsuarioDAO;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.hibernate.Session;
import util.HibernateUtil;

/**
 *
 * @author CesarFrantz
 */
@ManagedBean
@RequestScoped

public class UsuarioBean implements Serializable {

    private Usuario usuario = new Usuario();
    private UsuarioDAO usuarioDAO = new UsuarioDAO();
    
    public UsuarioBean() {
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public UsuarioDAO getUsuarioDAO() {
        return usuarioDAO;
    }

    public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
        this.usuarioDAO = usuarioDAO;
    }
    
    public String cadastrarUsuario() throws InterruptedException{        
        Session sessao;        
        sessao = HibernateUtil.getSessionFactory().openSession();
        sessao.beginTransaction();        
        sessao.persist(usuario);        
        sessao.beginTransaction().commit();
        //Thread.sleep(2000L);
        //FacesContext.getCurrentInstance().addMessage(null,
                        //new FacesMessage("Usuario " + usuario.getUsuario() + " criado com sucesso!")); 
        //ELFlash.getFlash().put("usuarioBean", this);
        
        String message = "Usuário: " + usuario.getUsuario()+" cadastrado com sucesso!";
        FacesContext context = FacesContext.getCurrentInstance();
 
        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, null, message));         
        
        return "index.xhtml";                
    }
    public String removerUsuario(){
        //usuarioDAO.addUsuario(usuario);
        return "index.xhtml";
    }
       
}

